package com.cysoft.third.echarts.component.yAxis;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.yAxis
 * @date 2025/3/13 11:38
 * @desc
 */
public class AxisPointerLabel {

    /**
     * 是否显示文本标签。如果 tooltip.axisPointer.type 设置为 'cross' 则默认显示标签，否则默认不显示。
     */
    private Boolean show;

    /**
     * 文本标签中数值的小数点精度。默认根据当前轴的值自动判断。也可以指定如 2 表示保留两位小数。
     */
    private String precision = "auto";

    /**
     * 文本标签文字的格式化器。
     */
    private Object formatter;

    /**
     * label 距离轴的距离。
     */
    private Integer margin = 3;

    /**
     * 文字的颜色。
     */
    private String color = "#fff";

    /**
     * 文字字体的风格。可选：'normal'，'italic'，'oblique'
     */
    private String fontStyle = "normal";

    /**
     * 文字字体的粗细。可选：'normal'，'bold'，'bolder'，'lighter'，100 | 200 | 300 | 400...
     */
    private Object fontWeight = "normal";

    /**
     * 文字的字体系列。还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft YaHei', ...
     */
    private String fontFamily = "sans-serif";

    /**
     * 文字的字体大小。
     */
    private Integer fontSize = 12;

    /**
     * 行高。
     */
    private Integer lineHeight;

    /**
     * 文本显示宽度。
     */
    private Integer width;

    /**
     * 文本显示高度。
     */
    private Integer height;

    /**
     * 文字本身的描边颜色。
     */
    private String textBorderColor;

    /**
     * 文字本身的描边宽度。
     */
    private Integer textBorderWidth;

    /**
     * 文字本身的描边类型。可选：'solid'，'dashed'，'dotted'
     * 自 v5.0.0 开始，也可以是 number 或者 number 数组，用以指定线条的 dash array，配合 textBorderDashOffset 可实现更灵活的虚线效果。
     */
    private Object textBorderType = "solid";

    /**
     * 从 v5.0.0 开始支持，用于设置虚线的偏移量，可搭配 textBorderType 指定 dash array 实现灵活的虚线效果。
     */
    private Integer textBorderDashOffset;

    /**
     * 文字本身的阴影颜色。
     */
    private String textShadowColor = "transparent";

    /**
     * 文字本身的阴影长度。
     */
    private Integer textShadowBlur;

    /**
     * 文字本身的阴影 X 偏移。
     */
    private Integer textShadowOffsetX;

    /**
     * 文字本身的阴影 Y 偏移。
     */
    private Integer textShadowOffsetY;

    /**
     * 文字超出宽度是否截断或者换行。配置 width 时有效。
     * 'truncate' 截断，并在末尾显示 ellipsis 配置的文本，默认为...
     * 'break' 换行
     * 'breakAll' 换行，跟 'break' 不同的是，在英语等拉丁文中，'breakAll' 还会强制单词内换行
     */
    private String overflow = "none";

    /**
     * 在 overflow 配置为 'truncate' 的时候，可以通过该属性配置末尾显示的文本。
     */
    private String ellipsis = "...";

    /**
     * axisPointer 内边距，单位 px，默认各方向内边距为 5，接受数组分别设定上右下左边距。
     */
    private Object padding = new Integer[]{5, 7, 5, 7};

    /**
     * 文本标签的背景颜色，默认是和 axis.axisLine.lineStyle.color 相同。
     */
    private String backgroundColor = "auto";

    /**
     * 文本标签的边框颜色。
     */
    private String borderColor;

    /**
     * 文本标签的边框宽度。
     */
    private Integer borderWidth;

    /**
     * 图形阴影的模糊大小。该属性配合 shadowColor, shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果。
     */
    private Integer shadowBlur = 3;

    /**
     * 阴影颜色。支持的格式同 color。
     */
    private String shadowColor = "#aaa";

    /**
     * 阴影水平方向上的偏移距离。
     */
    private Integer shadowOffsetX = 2;

    /**
     * 阴影垂直方向上的偏移距离。
     */
    private Integer shadowOffsetY;
}
